namespace mplat {
    export class Ad implements IAd {

        protected _state: AdState;

        banner: IBannerAd;
        video: IVideoAd;
        interstitial: IInterstitialAd;

        native?: INativeAd;

        constructor() {
            this.init()
        }

        set state(state: AdState) {
            this._state = state;
        }

        get state() {
            return this._state;
        }

        init() {
            this.state = AdState.AllAd;

            this.banner = new BannerAd();
            this.video = new VideoAd();
            this.interstitial = new InterstitialAd();
            this.native = new NativeAd();
        }

    }
}